初期のJavaScript開発において、 ネームスペース汚染 は大きな障害でした。関係のないコードが同じグローバル変数名を共有すると、予測できない衝突が発生します。現代的な設計は、構造のない姿勢から 隔離されたモジュールシステムへと移行しています。
1. 機能的隔離(即時実行関数式:IIFE)
コードを 即時実行関数式(IIFE) で囲むことで、プライベートスコープを作成できます。`names` のような変数は関数内に閉じ込められ、グローバル環境からはアクセスできません。 names は関数内に閉じ込められ、グローバル環境からはアクセスできません。
(function() {
var internal = "secret";
console.log(internal);
})();
var internal = "secret";
console.log(internal);
})();
2. オブジェクトベースのインターフェース
外部世界に機能を提供するために、モジュールはその 公開インターフェースとして機能するオブジェクトを返します。これにより、関連するメソッド(例: name および numberや
3. エクスポートパターン
洗練されたバリエーションでは、 exports オブジェクトをIIFEに渡すことが含まれます。これにより、モジュールはそのAPIを特定のネームスペースターゲットに直接接続でき、モジュールの利用方法に柔軟性をもたらします。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>